Peer to Peer by Andy Oram (editor)

Peer to Peer by Andy Oram (editor)

Author:Andy Oram (editor) [Oram, Andy]
Language: fra
Format: epub
Tags: Informatique
Publisher: O'Reilly
Published: 2001-11-22T21:43:16+00:00


age 128

Peer to Peer: Harnessing the Power of Disruptive Technologies

Finally, completely decentralized peer-to-peer systems have no notion of global coordination at all.

Communication is handled entirely by peers operating at a local level. This usually implies some type

of forwarding mechanism in which peers forward messages on behalf of other peers. Freenet and

Gnutella are examples in this last category.

In this chapter, when I refer to peer-to-peer systems, I will be talking only about decentralized peer-

to-peer. Since the performance issues of centralized systems have been discussed so much, it will be

interesting to look at the issues of a fully decentralized system.

14.2 Why performance matters

Several factors combine to make decentralized peer-to-peer systems more sensitive to performance

issues than other types of software. First, the essential characteristic of such systems is

communication - a characteristic that makes them fundamentally dependent on the network. In

network communication, as every dial-up user knows, connection speed dominates processor and I/O

speed as the bottleneck. Since this situation will most likely persist into the foreseeable future,

Moore's Law (so helpful elsewhere) provides little comfort. The problem is compounded by the highly

parallel nature of peer-to-peer: A connection fast enough to talk to one remote peer quickly becomes

much less so for ten trying to connect simultaneously. Thus, traffic minimization and load balancing

become important considerations.

Second, decentralized systems like Freenet and Gnutella need to use messages that are forwarded over

many hops from one peer to the next. Since there is no central server to maintain a master index, it

necessarily takes more effort to search through the system to find out where data is. Each hop not only

adds to the total bandwidth load but also increases the time needed to perform a query, since it takes a

nontrivial amount of time to set up a connection to the next peer or to discover that it is down. As

mentioned previously, the latter occurrence can be extremely common in peer-to-peer environments.

If a peer is unreachable, TCP/IP can take up to several minutes to time out the connection. Multiply

that by several times for retries to other peers and add the time needed to actually send the message

over a possibly slow dial-up connection, and the elapsed time per hop can get quite high. It is

therefore important to cut down on the number of hops that messages travel.

Third, the balance between resource providers and consumers must be considered. Like their

counterparts in the real world, peer-to-peer communities depend on the presence of a sufficient base

of communal participation and cooperation in order to function successfully.

However, there will always be those who consume resources without giving any back. Recent analysis

by Eytan Adar and Bernardo Huberman at Xerox PARC[2] indicates that as many as 70% of current

Gnutella users may be sharing no files at all.

[2] E. Adar and B.A. Huberman (2000), "Free Riding on Gnutella," First Monday 5(10),

http://firstmonday.org/issues/issue5_10/adar/index.html.

If a high enough proportion of users are free riders, performance degrades for those who do

contribute. A substantial decline in performance may impel some contributors to pull out of the

system altogether. Their withdrawal worsens the situation further for the remainder, who will



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.